1. Field of the Invention
The present invention relates to an information-processing apparatus that is capable of managing a plurality of execution spaces in computer systems and the like.
2. Description of the Related Art
Recent computer systems have come to be able to execute programs in parallel for each of a plurality of execution spaces. “Execution spaces” refers to logical program execution units, to which memory space, processors, and other resources necessary for program execution are logically and physically allocated.
As an example, a plurality of processor cores is provided in a processor. Each of the processor cores is capable of executing mutually independent instructions in parallel. Local memory corresponding to each processor core may also be provided. The processor cores execute programs stored in the correspondingly provided local memory. Execution spaces are divided according to each processor core and corresponding local memory.
When external resources (e.g., non-processor memory, input/output devices) are accessed in a computer system that executes programs in parallel for each of a plurality of execution spaces, a manager is provided to arbitrate access to the external resources from the programs executed in each execution space. Use of external resources is managed by this manager.
One of these external resources is a timer that is backed up by a battery. The timer holds time information, which is set by the computer system administrator, and keeps the time. The programs within each execution space can also acquire, via the manager, the time information kept by the timer.
However, different time information may need to be acquired for each execution space in instances such as when separate operating systems (system programs that manage input/output with peripheral devices, program execution, and the like) are executed for each execution space. A method that addresses such needs, and is disclosed in U.S. Patent Application No. 2004-0205368, is a system capable of correcting the time information kept by the timer and setting different times in each logical partition by using partition offsets set to different values with each logical partition, which is an example of an execution space.
However, with the technique disclosed in the aforementioned document, it is not always possible to rely on the corrected time kept in the timer. For example, with the technique disclosed in the document, one who is the administrator of an operating system run in a certain execution space, but who is not the administrator of the whole computer system, can exercise whole computer system administrator's rights to set the time of the timer.